<?php

class Myupload{
	//文件域的名称
	public $UploadFileName;
	//上传文件的名称
	public $FileName;
	//上传文件的类型
	public $FileType;
	//上传文件的大小
	public $FileSize;
	//临时文件夹路径
	public $TmpName;
	//允许上传文件的大小
	public $AllowSize = 188822;
	//允许上传文件的类型
	public $AllowType 	  ='image/gif,image/jpg,image/jpeg,image/pjpeg,image/png';
	//允许上传文件的扩展名
	public $GetExeName    ='jpg,gif,png,JPG';
	//上传文件的扩展名
	public $ExeName;
	//错误信息的记录
	public $Error;
	//文件夹的完整路径
	public $UploadUrl;
	/**
	*	构造函数
	*	功能：初始化成员变量
	*/
	public function __construct($_UploadFileName)
	{

		$this->UploadFileName				=$_UploadFileName['name'];
		$this->FileName				        =$_FILES[$this->UploadFileName]['name'];
		$this->FileType						=$_FILES[$this->UploadFileName]['type'];
		$this->FileSize						=$_FILES[$this->UploadFileName]['size'];
		$this->TmpName						=$_FILES[$this->UploadFileName]['tmp_name'];
		$this->ExeName						=$this->getfileexename();
	}
	//判断客户提交文件的合理性
	function check()
	{
		//1 大小
		if($this->FileSize	> $this->AllowSize*1024)
		{
			$this->Error='上传文件的大于'.$this->AllowSize.'k';
			return false;
		}
		//2 类型
		$res=strpos($this->AllowType,$this->FileType);
		if(is_bool($res))
		{
			$this->Error='上传的文件类型不支持！';
			return false;
		}
		//3 扩展名
		$res1=strpos($this->GetExeName,$this->ExeName);
		if(is_bool($res1))
		{
			$this->Error='上传的文件的扩展名不支持！';
			return false;
		}
		return true;
	}

	// 获取临时上传路径
	public function getRealPath(){
		return $this->TmpName;
	}

	//获取文件的扩展名
	public function getfileexename()
	{
		$arr =explode('.',$this->FileName);
		return end($arr);
	}

	
	/**
	*	核心函数
	*/
	public function start()
	{
		//判断
		if(!$this->check())
		{
			return false;
		}
		//解决文件的重命名问题和上传文件的覆盖
		return $this->FileName=date('YmdHis').rand(99999,99999999).'.'.$this->ExeName;
	}
}
?>